#ifndef __YT_RECORDER_AMR_H__
#define __YT_RECORDER_AMR_H__

class YTRecorderAmr {
public:
	 static YTRecorderAmr &Instance();
    ~YTRecorderAmr();
	class IOnEvent {
    public:
        virtual int on_start_amr() = 0;
        virtual int on_data_amr(const void* data, unsigned int size) = 0;
        virtual int on_stop_amr() = 0;
    };
	void Init();	
    int Start();
    int Resume();
    int Pause();
    int Stop();
    int SetEventListener(IOnEvent* _pEvent);
private:
	YTRecorderAmr();
private:
	class YTRecorderAmrImpl;
	static YTRecorderAmr  mInstance;
    YTRecorderAmrImpl *  mRecorderAmrImpl;
};


#endif
